Numerous electronic devices are capable of performing operations fulfilled by options selected by a user. For example, some conventional clothes dryers are configured to allow users to choose from pre-defined drying cycles designed for popular fabric types such as cotton, wool or silk. The choice of cycle controls the time, temperature and degree of agitation used in drying the fabric. If a user wishes to dry a fabric which is not among the particular types for which pre-defined cycles have been provided, the user must choose among those cycles the combination of time, temperature and degree of agitation which best approximates the ideal for the fabric which the user wishes to dry.
This observation is true for many peripheral devices for data processing systems and the like. For instance, conventional electronic printers are designed to allow users to print documents in a variety of formats, such as in different paper sizes, color schemes and fonts. Conventional scanners allow users to vary the operations which the scanners perform by selecting different scan areas, pixel densities and output formats. Typically, a peripheral device is controlled by a combination of software found in an operating system resident in the data processing system, such as one of the WINDOWS® brand operating systems available from Microsoft® Corporation of Redmond, Wash., and in “driver” software typically sold with the device itself. Some application packages also include driver software.
Various manufacturers supply devices which perform similar operations but have different capabilities. Devices of the same model may have different capabilities depending on the manner in which their users configure them. For example, users may load particular types of paper into the paper trays of an electronic printer. If a user's preferred paper type is not among those loaded into the paper trays, the user must choose among those paper types available the combination of properties which best approximates those the user desires.
One type of software which controls print jobs by electronic printers includes a data structure having specific fields for entering desired print options. Descriptions of additional capabilities of the device are reduced to indices, that is, to pages organized and tabulated to facilitate search.
Job tickets are used to specify the print options to be used in printing the content of computer files. When a text or image file having a job ticket prepared for one printer is transferred electronically to a recipient, the software controlling the recipient's printer must select the print option available on the recipient's printer which best approximates the print configuration requested in the job ticket. Typically, any combination of desired properties in the job ticket which is not among the options recognized by the software controlling the recipient's printer is reset in whole or in part to default values. Indices are honored only if the model and driver version are identical. As a result, the document printed by the recipient may differ significantly from that printed from the same text or data file by the creator.
The data structures used in conventional printer control software lack interoperability. That is, such software typically defines options in terms of a single naming convention. Such data structures are not easily adapted to serve users defining similar options using different nomenclature.